A Literate Programming Tool for Concurrent Clean

نویسنده

  • Glenn Strong
چکیده

Literate programming has attracted some interest in the functional programming community. This paper presents a prettyprinting algorithm used in a literate programming tool for the functional language Concurrent Clean, and discusses some of the issues involved in prettyprinting layout based languages. 1 Literate programming This section introduces the concept of literate programming for those who are unfamiliar with it, and makes some suggestions as to the merits of literate programming. There is some coverage of the topic from the point of view of functional programming, which is the authors primary interest. 1.1 What is literate programming? Literate programming is a style of programming introduced by Donald Knuth in his book of the same name [2]. The central idea of literate programming is: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.[7] The exact features of the various literate programming systems vary, but they have a number of common features. 1. They all provide some mechanism for writing both code and documentation in a single file, and extracting the program code in a form suitable for compilation. 2. Most provide some form of automatic indexing of the program code. The tools construct an index of identifiers and code fragments, and generate cross reference information. 3. Most systems provide some mechanism for reordering the program code, so that it can be presented in way the author wishes, rather than in the order which the compiler requires. Tools are used to automatically reorder the code for the compiler.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

xmLP - a Literate Programming Tool for XML & Text

LitProg [Literate Programming] is a technique created by Donald Knuth to make computer programs readable and maintainable. This article introduces LitProg, demonstrates what a literate program looks like, and describes the LitProg tool “xmLP”, which can be used to literately develop program sources (or other control file sources) whose content is XML or text. Rendered by www.RenderX.com xmLP — ...

متن کامل

Formalization and 'Literate' Programming

The ‘literate’ programming model is extended to include a concept of mechanical transformation. A prototype tool, FLP (Formal Literate Programming tool), has been developed which uses this extended ‘literate’ programming model in both a formal program proof setting, and within a formal (refinement) program development setting. In both settings, FLP provides history, access to tools, and an easy...

متن کامل

An Elucidative Programming Environment for Scheme (Incomplete Draft)

In this paper we describe a programming environment for Scheme that supports elucidative programming. Scheme is a programming language in the Lisp family. Elucidative programming is a variant of literate programming. Literate programming represents the idea of structuring the program as fragments that are contained in an essay that documents the program understanding. Elucidative programming is...

متن کامل

DOSFOP - A Documentation Tool for the Algebraic Programming Language OPAL

We present an approach to the design of a literate programming tool for the algebraic programming language Opal, which serves as a back-end in the formal program derivation process. In designing our documentation system we not only take technical aspects into account , but also have the acceptance of the documentation system by the software developer in mind.

متن کامل

Literate Programming in Forth

We look at Donald Knuth's concept of \Literate Programming," investigating exactly what it is and how it is used to assist conventional programmers. We then ask what lessons we can learn from this idea and if it is possible to apply them to Forth. We look at the alterations needed to the system and/or Forth to allow us to take advantage of this system. Indeed do we obtain all of the advantages ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001